var Page = function(){
    this.init();
};
Page.prototype = {
    params: {
        passport: '',
        groupId:'',
        operation:[],
        system:[],
        financial:[],
        local:[]
    },
    init: function(){
        this.initParams();
        this.initEvent();
    },
    initParams: function(){
        this.params.passport = Pub.getCookie('_PASSPORT');
        this.params.groupId = Pub.getSession('groupId');
    },
    getData: function(){
        var _this = this;
        var paramsObj = {
            passport: _this.params.passport,
            groupId:_this.params.groupId
        };
        Api.admingrouplistpermissionsdetails(paramsObj, function(data){
            console.log(data);
            var operation=data.operationsCenterPermissions;
            var system=data.systemManagementPermissions;
            var financial=data.financialCenterPermissions;
            var local=data.theTubeArea;
            var isSuper=data.isSuper;
            _this.limitShow(operation, system, financial,isSuper);
            if (data.isSuper==1) {
                $('input[type=checkbox][name=adm]').iCheck('check');
                $('input[type=checkbox][name=admAll]').iCheck('check');
            };
            if (data.addressType==1) {
                $('input[name=area]').eq(1).iCheck('check');
            }else if(data.addressType==2) {
                $('input[name=area]').eq(2).iCheck('check');
            };
            var areaId=data.adminAddressId.split(",");
            var areaName=data.theTubeArea.split(",");
            var showName=data.nothing.split(",");

            if (data.addressType!=0) {
                for (var i = 0; i < showName.length; i++) {
                    html='<a class="btn radius c-666 mr-5 localBtn" areaId="'+areaId[i]+'" areaName="'+areaName[i]+'" showName="'+showName[i]+'">'+showName[i]+'<i class="Hui-iconfont ml-5">&#xe6a6;</i></a>';
                    $('#clbefore').before(html)
                    _this.removeLocal();
                };
            };


        });
    },
    limitShow: function(operation, system, financial,isSuper){
        var _this = this;
        $('input[type=checkbox][name=operat]').each(function() {
          var thisVal = $(this).val();
          if(operation.indexOf(thisVal) !== -1){
            $(this).iCheck('check');
          }
        });
        $('input[type=checkbox][name=money]').each(function() {
          var thisVal = $(this).val();
          if(financial.indexOf(thisVal) !== -1){
            $(this).iCheck('check');
          }
        });
        $('input[type=checkbox][name=sys]').each(function() {
          var thisVal = $(this).val();
          if(system.indexOf(thisVal) !== -1){
            $(this).iCheck('check');
          }
        });
        $('input[type=checkbox][name=adm]').each(function() {
          var thisVal = $(this).val();
          if(isSuper.indexOf(thisVal) !== -1){
            $(this).iCheck('check');
          }
        });
    },
    limitsSet: function() {
        var _this = this;
        $('input[type=checkbox][name=operat]').each(function() {
            if ($(this).is(':checked')) {
                var thisVal = $(this).val();
                _this.params.operation.push(thisVal);
            }
        });
        $('input[type=checkbox][name=money]').each(function() {
            if ($(this).is(':checked')) {
                var thisVal = $(this).val();
                _this.params.financial.push(thisVal);
            }
        });
        $('input[type=checkbox][name=sys]').each(function() {
            if ($(this).is(':checked')) {
                var thisVal = $(this).val();
                _this.params.system.push(thisVal);
            }
        });
        var isSuper='';
        if ($('input[type=checkbox][name=adm]').is(':checked')) {
            isSuper='1';
        }else{
            isSuper='0';
        };

        var addressType=$('input[name=area]:checked').val();
        var theTubeArea=[];
        var adminAddressId=[];
        var nothing=[];
        if (addressType==0) {
            theTubeArea='';
            adminAddressId='';
            nothing='';
        }else{
            if ($('.localBtn').length>0) {
                for (var i = 0; i < $('.localBtn').length; i++) {
                    theTubeArea.push($('.localBtn').eq(i).attr('areaname'));
                    adminAddressId.push($('.localBtn').eq(i).attr('areaid'));
                    nothing.push($('.localBtn').eq(i).attr('showname'));
                };
                theTubeArea=theTubeArea.join(',');
                adminAddressId=adminAddressId.join(',');
                nothing=nothing.join(',');
            };
        };
        var Params = {
            passport: _this.params.passport,
            groupId: _this.params.groupId,
            operationsCenterPermissions: _this.params.operation.join(','),
            financialCenterPermissions:_this.params.financial.join(','),
            systemManagementPermissions:_this.params.system.join(','),
            isSuper:isSuper,
            theTubeArea:theTubeArea,
            adminAddressId:adminAddressId,
            addressType:addressType,
            nothing:nothing
        };
        console.log(Params);
        if (addressType!=0 && $('.localBtn').length==0) {
            layui.use('layer', function(){
                layer.msg('至少添加一个地区',{icon: 5});
            });
        }else{
            Api.admingrouppermissionsmodify(Params, function(data) {
                console.log(data);
                layui.use('layer', function(){
                    layer.msg('保存成功',{icon: 6});
                    setTimeout(function(){
                        window.location.href = Pub.getHtmlUrl('./manage-division.html');
                    },1500)
                });
            })
        };

    },
    checkEvent:function(){
        var _this = this;
        $('input[type=checkbox][name=operatingAll]').on('ifChanged', function(){
            if($(this).is(':checked')){
                $('input[type=checkbox][name=operat]').iCheck('check');
            }else{
                $('input[type=checkbox][name=operat]').iCheck('uncheck');
            }
        });
        $('input[type=checkbox][name=moneyAll]').on('ifChanged', function(){
            if($(this).is(':checked')){
                $('input[type=checkbox][name=money]').iCheck('check');
            }else{
                $('input[type=checkbox][name=money]').iCheck('uncheck');
            }
        });
        $('input[type=checkbox][name=sysAll]').on('ifChanged', function(){
            if($(this).is(':checked')){
                $('input[type=checkbox][name=sys]').iCheck('check');
            }else{
                $('input[type=checkbox][name=sys]').iCheck('uncheck');
            }
        });
        $('input[type=checkbox][name=admAll]').on('ifChanged', function(){
            if($(this).is(':checked')){
                $('input[type=checkbox][name=adm]').iCheck('check');
            }else{
                $('input[type=checkbox][name=adm]').iCheck('uncheck');
            }
        });
        $('input[type=checkbox][name=all]').on('ifChanged', function(){
            if($(this).is(':checked')){
                $('input[type=checkbox]').iCheck('check');
            }else{
                $('input[type=checkbox]').iCheck('uncheck');
            }
        });
        var operatLen = 12,
            moneyLen = 6,
            sysLen = 7,
            superLen=1;

        $('input[type=checkbox][name=operat]').on('ifChanged', function(){
            var opAll=$('input[type=checkbox][name=operat]:checked').length;
            if(opAll == operatLen){
                $('input[type=checkbox][name=operatingAll]').parent().addClass('checked');
            }else{
                $('input[type=checkbox][name=operatingAll]').parent().removeClass('checked');
            }
        });
        $('input[type=checkbox][name=money]').on('ifChanged', function(){
            var sAll = $('input[type=checkbox][name=money]:checked').length;
            if(sAll == moneyLen){
                $('input[type=checkbox][name=moneyAll]').parent().addClass('checked');
            }else{
                $('input[type=checkbox][name=moneyAll]').parent().removeClass('checked');
            }
        });
        $('input[type=checkbox][name=sys]').on('ifChanged', function(){
            var oAll = $('input[type=checkbox][name=sys]:checked').length;
            if(oAll == sysLen){
                $('input[type=checkbox][name=sysAll]').parent().addClass('checked');
            }else{
                $('input[type=checkbox][name=sysAll]').parent().removeClass('checked');
            }
        });
        $('input[type=checkbox][name=adm]').on('ifChanged', function(){
            var adAll = $('input[type=checkbox][name=adm]:checked').length;
            if(adAll == superLen){
                $('input[type=checkbox][name=admAll]').parent().addClass('checked');
            }else{
                $('input[type=checkbox][name=admAll]').parent().removeClass('checked');
            }
        });
        $('input[type=checkbox]').on('ifChanged', function(){
            if($('input[type=checkbox][name=operatingAll]').parent().hasClass('checked') && $('input[type=checkbox][name=moneyAll]').parent().hasClass('checked') && $('input[type=checkbox][name=sysAll]').parent().hasClass('checked') && $('input[type=checkbox][name=admAll]').parent().hasClass('checked')){
                $('input[type=checkbox][name=all]').parent().addClass('checked');
            }else{
                $('input[type=checkbox][name=all]').parent().removeClass('checked');
            }
        });
    },
    getProvinceData:function(){
        var _this = this;
        var paramsObj = {
            passport: _this.params.passport
        };
        Api.areaList(paramsObj, function(data){
            console.log(data);
            _this.getProvinceList(data.list);
        });
    },
    getProvinceList:function(data){
        var _this = this;
        if (data && data.length>0) {
            var html = '<option value="">省</option>', i = 0, len = data.length;
            for (i; i < len; i++) {
                html+='<option  value="'+data[i].areaId+'">'+data[i].name+'</option>';
            }
            $('#cnee_province').html(html);
            _this.getProvinceEvent();
        };
    },
    getProvinceEvent:function(){
        var _this = this;
        $('#cnee_province').on('change', function(event) {
            event.preventDefault();
            if ($("#cnee_province option:selected").val()!='') {
                _this.getCityData($("#cnee_province option:selected").val());
            }else{
                $('#cnee_city').html('<option  value="">市</option>');
            };
        });
    },
    getCityData:function(id){
        var _this = this;
        var json={}
        var arr=[];
        if (id==11) {
            json.name='北京市';
            json.areaId=11;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==12) {
            json.name='天津市';
            json.areaId=12;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==31) {
            json.name='上海市';
            json.areaId=31;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==50) {
            json.name='重庆市';
            json.areaId=50;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==71) {
            json.name='台湾省';
            json.areaId=71;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==81) {
            json.name='香港特别行政区';
            json.areaId=81;
            arr.push(json)
            _this.getCityList(arr);
        }else if(id==82) {
            json.name='澳门特别行政区';
            json.areaId=82;
            arr.push(json)
            _this.getCityList(arr);
        }else{
            var paramsObj = {
                passport: _this.params.passport,
                parentId:id
            };
            console.log(paramsObj);
            Api.areaList(paramsObj, function(data){
                console.log(data);
                _this.getCityList(data.list);
            });
        };

    },
    getCityList:function(data){
        var _this = this;
        if (data && data.length>0) {
            var html = '', i = 0, len = data.length;
            for (i; i < len; i++) {
                html+='<option value="'+data[i].areaId+'">'+data[i].name+'</option>';
            }
            $('#cnee_city').html(html);
            _this.getCityEvent();
        }else{
            $('#cnee_city').html('');
        };
    },
    getCityEvent:function(){
        var _this = this;
        $('#cnee_city').on('change', function(event) {
            event.preventDefault();

        });
    },
    removeLocal:function(){
        var _this = this;
        $('.localBtn').click(function(event) {
            $(this).remove();
        });
    },
    otherEvent:function(){
        var _this = this;
        $('input').iCheck({
            checkboxClass: 'icheckbox-blue',
            radioClass: 'iradio-blue',
            increaseArea: '20%'
        })
        $('#addLocal').on('click', function(){
            var isCan=1;
            if ($('#cnee_city').val()!='') {
                $('.localBtn').each(function() {
                    if ($(this).attr('areaId')==$('#cnee_city').val()) {
                        isCan=0;
                        return;
                    };
                });
                var html='';
                if (isCan==1) {
                    html='<a class="btn radius c-666 mr-5 localBtn" areaId="'+$('#cnee_city').val()+'" areaName="'+$('#cnee_province').find("option:selected").text()+$('#cnee_city').find("option:selected").text()+'" showName="'+$('#cnee_city').find("option:selected").text()+'">'+$('#cnee_city').find("option:selected").text()+'<i class="Hui-iconfont ml-5">&#xe6a6;</i></a>';
                    $('#clbefore').before(html)
                    _this.removeLocal();
                }else{
                    layui.use('layer', function(){
                        layer.msg('该地区已添加', {icon: 5});
                    });
                };
            };
        });
        $('input[name=area]').on('ifChanged', function(){
            if ($('input[name=area]:checked').val()!=0) {
                $('.countryAll').css('display', 'table-row');
            }else{
                $('.countryAll').css('display', 'none');
            };
        });
        $('#btn_save').on('click', function(){
          _this.limitsSet();
        });
    },
    initEvent: function(){
        var _this = this;
        _this.getData();
        _this.checkEvent();
        _this.otherEvent();
        _this.getProvinceData();

    }
};
var page = new Page();